journalctl 是一个强大的命令行工具,用于查看和分析 Systemd 系统的日志。以下是使用 journalctl 查看日志的一些基本和高级用法:
基本用法
查看所有日志
1
journalctl
查看特定服务的日志
1
journalctl -u <服务名>.service
例如,查看 ssh 服务日志:
1
journalctl -u sshd.service
实时跟踪日志
1
journalctl -f
若要实时跟踪特定服务的日志:
1
journalctl -fu <服务名>.service
按时间筛选日志
- 查看今天的日志:
1
journalctl --since today
- 查看昨天的日志:
1
journalctl --since yesterday --until today
- 查看特定时间段内的日志:
1
journalctl --since "2024-06-05 14:00:00" --until "2024-06-05 15:00:00"
- 查看今天的日志:
按优先级筛选日志
1
journalctl -p <优先级>
其中
<优先级>可以是emerg,alert,crit,err,warning,notice,info,debug。
高级用法
按单元名称筛选
1
journalctl _SYSTEMD_UNIT=<unit名称>
按 PID 查找日志
1
journalctl _PID=<进程ID>
按用户筛选日志
1
journalctl _USER=<用户名>
按日志消息内容搜索
1
journalctl _COMM=<进程名> | grep "<关键词>"
或者直接使用
-g参数:1
journalctl -g '<关键词>'
输出日志到文件
1
journalctl > log.txt
指定时区显示日志
1
journalctl --timezone=UTC
限制输出行数
1
journalctl -n <行数>
通过结合使用这些选项,journalctl 提供了高度灵活性来分析和解决系统问题。记得根据实际需要调整命令中的具体参数和值。


